Il panorama degli operatori di Julia è progettato per riflettere la notazione matematica, colmando il divario tra matematica formale e calcolo ad alte prestazioni tramite un ricco insieme di simboli ASCII e simboli Unicode.
1. Fondamenti dell'aritmetica
Oltre agli operatori binari standard, Julia fornisce forme unarie ($+x, -x$) e divisioni specializzate. Tra le caratteristiche rilevanti vi sono l'operatore di divisione inversa ($x \backslash y$), equivalente a $y / x$, e l'operatore del resto ($x \% y$), equivalente a rem(x,y).
- $+x, -x$ (Unario)
- $x + y, x - y, x * y$
- $x / y$ (Divisione)
- $x \div y$ (Divisione intera)
- $x \backslash y$ (Inverso)
- $x ^ y$ (Potenza)
- $x \% y$ (Resto)
- $\sim x$ (NOT bit a bit)
- $x \& y$ (AND)
- $x | y$ (OR)
- $x \veebar y$ (XOR / ⊻)
- $x >>> y$ (Shift logico)
- $x >> y$ (Shift aritmetico)
- $x << y$ (Shift sinistro)
2. Precisione e tipi
Negazione logica !x è strettamente riservata ai valori Booleani, mentre la tilde ($\sim$) funge da NOT bit a bit per gli interi. Una sfumatura fondamentale è consapevolezza dei tipi; applicando $\sim$ a un UInt8 rispetto a un UInt32 produce risultati esadecimali diversi perché le operazioni vengono eseguite sulla larghezza specifica in bit del tipo sottostante.